From 37d08cf9f4f2d4dabef7c5d5eb5b5bb44e722744 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Fri, 26 Nov 2010 21:10:26 +0200 Subject: [PATCH] Force left-to-right paragraph direction in echo area and prog-mode buffers. src/xdisp.c (set_message_1): Force paragraph direction in echo area be left-to-right. lisp/simple.el (prog-mode): Set bidi-paragraph-direction to left-to-right. --- lisp/ChangeLog | 3 +++ lisp/simple.el | 4 +++- src/ChangeLog | 3 +++ src/xdisp.c | 2 ++ 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 526f43b08c5..9ea05a99c99 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2010-11-26 Eli Zaretskii + * simple.el (prog-mode): Set bidi-paragraph-direction to + left-to-right. + * term/pc-win.el (x-get-selection-internal): Emulation for MS-DOS. 2010-11-26 Glenn Morris diff --git a/lisp/simple.el b/lisp/simple.el index aa4b9a97182..3b9bfc0519a 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -441,7 +441,9 @@ Other major modes are defined by comparison with this one." (define-derived-mode prog-mode fundamental-mode "Prog" "Major mode for editing programming language source code." (set (make-local-variable 'require-final-newline) mode-require-final-newline) - (set (make-local-variable 'parse-sexp-ignore-comments) t)) + (set (make-local-variable 'parse-sexp-ignore-comments) t) + ;; Any programming language is always written left to right. + (setq bidi-paragraph-direction 'left-to-right)) ;; Making and deleting lines. diff --git a/src/ChangeLog b/src/ChangeLog index 84581d22476..1f2a1f03d5c 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,8 @@ 2010-11-26 Eli Zaretskii + * xdisp.c (set_message_1): Force paragraph direction in echo area + be left-to-right. + * keyboard.c (make_lispy_position): Put a meaningful value in yret when the click is on the header or mode line. diff --git a/src/xdisp.c b/src/xdisp.c index fd80d7a0208..77e9db2e5eb 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -9384,6 +9384,8 @@ set_message_1 (EMACS_INT a1, Lisp_Object a2, EMACS_INT nbytes, EMACS_INT multiby Fset_buffer_multibyte (message_enable_multibyte ? Qt : Qnil); current_buffer->truncate_lines = message_truncate_lines ? Qt : Qnil; + if (!NILP (current_buffer->bidi_display_reordering)) + current_buffer->bidi_paragraph_direction = Qleft_to_right; /* Insert new message at BEG. */ TEMP_SET_PT_BOTH (BEG, BEG_BYTE); -- 2.30.2